Manifests are essentially just a simple list of the items to install (or verify their installation) or remove (or verify their removal).

Typically under the managed_installs key you provide the names of the items you wish to install. The usual behavior is to look for the latest version of the given item.  If you want to specify a specific version, you can append it to the end of the name:

Silverlight
Silverlight-2.0.40115.0.0

The key 'catalogs' defines where to look for items.
You can have as many catalogs as you want, and any given item can appear in one or more catalogs. Catalogs are searched in the same order as they are specified in the manifest; if an item is available in more than one catalog, the version in the earliest-listed catalog will be the one that is used.


<dict>
	<key>catalogs</key>
	<array>
		<string>testing</string>
	</array>
	<key>managed_installs</key>
	<array>
		<string>ServerAdminTools</string>
		<string>TextWrangler</string>
		<string>AnotherItem</string>
	</array>
</dict>


Manifests support references to other manifests (nested manifests). This allows you to define groups of items to install

<dict>
	<key>catalogs</key>
	<array>
		<string>production</string>
	</array>
	<key>included_manifests</key>
	<array>
		<string>leopard_standard_apps</string>
	</array>
	<key>managed_installs</key>
	<array>
		<string>TextWrangler</string>
	</array>
</dict>

Where there is a file at 
http://swrepo_root/manifests/leopard_standard_apps:

<dict>
	<key>catalogs</key>
	<key>managed_installs</key>
	<array>
		<string>MicrosoftOffice2008</string>
		<string>Firefox</string>
		<string>Thunderbird</string>
	</array>
</dict>

Note that this included manifest does not have an entry for "catalogs" - if the catalogs to search are not specified in an included manifest, the catalogs of its parent manifest will be used.

Uninstalls:
You may include a "managed_uninstalls" key:

	<key>managed_uninstalls</key>
	<array>
	        <string>ServerAdminTools</string>
	        <string>TextWrangler</string>
	        <string>Silverlight</string>
	</array>

These items will be checked to see if they're installed, and removed if possible.